package com.xiaobias.a14;

public class A14 {
    public static void main(String[] args) {
        Proxy proxy = new Proxy();
//        Target target = new Target();
        proxy.setMethodInterceptor((o, method, objects, methodProxy) -> {
            System.out.println("before...");
            // 内部有反射
//            return method.invoke(target, objects);
            // FastClass
            // 内部没用反射， 结合目标用
//            return methodProxy.invoke(target, objects);
            // 内部没用反射， 结合代理用
            return methodProxy.invokeSuper(o, objects);
        });

        proxy.save();
        proxy.save(1);
        proxy.save(1L);
    }
}
